package os;

/**
 *
 * @author Paulius Dambrauskas
 */
class PrintLine extends Process {

    @Override
    public void runProcess() {
        this.changeStepCell(step);
        switch(step){
            case 1:{
                //changeStepCell(1);
                OS.askRes("Eilutė", selfId);
                incStep(1);
                break;
            }
            case 2:{
                //changeStepCell(2);
                OS.askRes("2 Kanalas", selfId);
                incStep(1);
                break;
            }
            case 3:{
                //changeStepCell(3);
                /*String output = (String) this.takeFromGivenResources("Eilutė").value;
                OS.window.appendConsole(output);
                incStep(1);
                break;*/
                OS.window.printBuffer = (String) this.takeFromGivenResources("Eilutė").value;
                OS.sheduler();
                this.setState(2);
                OS.readyList.add(selfId);
                //OS.askRes("Spausdinimo pabaiga", selfId);
                incStep(1);
                break;
            }
            case 4:{
                //changeStepCell(4);
              /*  //OS.askRes("Spausdinimo pabaiga", selfId);
                //OS.activateProc(selfId);
                OS.sheduler();
                this.setState(2);
                OS.readyList.add(selfId);
                //OS.sheduler();
                incStep(1);
                break;
            }
            case 5:{*/
                //this.takeFromGivenResources("Spausdinimo pabaiga");
                OS.freeRes(this.takeFromGivenResources("2 Kanalas"));
                OS.window.processor.getCH2().setRegisterValue("0");
                setStep(1);
                break;
            }
        }
    }
    
}
